﻿using MediatR;
using RearLivestock.Common.Domains.Enum;
using RearLivestock.Common.Dtos;
using System.ComponentModel.DataAnnotations;

namespace RearLivestock.Beginning.Api.Application.Command.PigArchives
{
    /// <summary>
    /// 猪只档案列表Command
    /// </summary>
    public class SearchPigBasicCommand : IRequest<Result<PageResultDto<BasicDto>>>
    {
        /// <summary>
        /// 耳号
        /// </summary>
        public string? EarNumber { get; set; } = string.Empty;
        /// <summary>
        /// 电子耳标号
        /// </summary>
        public string? Electronicearlabel { get; set; } = string.Empty;
        /// <summary>
        /// 品种ID
        /// </summary>
        public int? VarietiesId { get; set; }
        /// <summary>
        /// 性别
        /// </summary>
        public int? Gender { get; set; }
        /// <summary>
        /// 开始时间
        /// </summary>
        public DateTime? SDate { get; set; }
        /// <summary>
        /// 结束时间
        /// </summary>
        public DateTime? ODate { get; set; }
        /// <summary>
        /// 猪只类型Id
        /// </summary>
        public int? PigTypeId { get; set; }

        /// <summary>
        /// 栋舍id
        /// </summary>
        public int? BedroomId { get; set; }

        /// <summary>
        /// 栏位id
        /// </summary>
        public int? FieldId { get; set; }
        /// <summary>
        /// 基因等级枚举
        /// </summary>
        public GeneticlevelEnums? GeneticlevelEnums { get; set; }

        /// <summary>
        /// 在场状态枚举
        /// </summary>
        public PresentstatusEnums? Presentstatus { get; set; }
        /// <summary>
        /// 繁殖状态枚举
        /// </summary>
        public ReproductivestatusEnums? Reproductivestatus { get; set; }
        /// <summary>
        /// 生产等级枚举
        /// </summary>
        public ProductiongradeEnums? Productiongrade { get; set; }
        /// <summary>
        /// 销售等级枚举
        /// </summary>
        public SaleslevelEnums? Saleslevel { get; set; }
        /// <summary>
        /// 父亲耳号
        /// </summary>
        public string? FatherEarNumber { get; set; } = string.Empty;

        /// <summary>
        /// 母亲耳号
        /// </summary>
        public string? MotherEarNumber { get; set; } = string.Empty;
        /// <summary>
        /// 当前页
        /// </summary>
        public int PageIndex { get; set; }
        /// <summary>
        /// 每页显示的数量
        /// </summary>
        public int PageSize { get; set; }
    }
}
